package com.better.frontend.Iservice.exam;

import com.better.backend.dataComputingService.model.stuScore.ExamStudentScoreCalModel;
import com.better.backend.mqReceiverService.examReceiver.model.ExamModel;
import com.better.backend.mqReceiverService.examReceiver.model.ExamUnitModel;
import com.better.backend.mqReceiverService.examReceiver.model.SubjectScoreModel;
import com.better.common.base.ServiceResponse;
import com.better.frontend.model.index.IndexParam;
import com.better.frontend.vo.exam.ExamVo;

import java.util.List;

/**
 * Created by wfm on 2017/11/11.
 */
public interface ExamService {
    /**
     * 获取考试信息
     *
     * @author:
     * @date :2017/11/8
     */
    public ExamVo getExmp(IndexParam examParam);

    /**
     * 获取所有考试信息
     *
     * @author:
     * @date :2017/11/8
     */
    public List<ExamModel> getAllExam(IndexParam examParam);

    /**
     * 创建考试
     *
     * @author:
     * @date :2017/11/19
     */
    public ExamModel saveExmp(ExamModel examModel);

    public ExamModel updateExmp(ExamModel examModel);

    /**
     * 判断更新后的科目是否存在已导入的试卷
     * @param examModel
     * @param list
     * @return
     */
    public ServiceResponse compUnitSub(ExamModel examModel,List<ExamUnitModel> list);

    /**
     * 根据考试ID，查询年级，班级信息
     *
     * @author:
     * @date :2017/11/19
     */
    public ServiceResponse getGradeClassInfo(String examId);

    /**
     * 通过考试ID获取考试信息
     *
     * @author:
     * @date :2017/11/19
     */
    public ExamModel findByExampId(String Id);

    /**
     * 通过考试ID发布考试信息
     *
     * @author:
     * @date :2017/11/19
     */
    public ServiceResponse publishExam(String examId);

    /**
     * 通过考试ID，年级ID，查询考试对应年级的所有科目信息
     * @param examID
     * @param gradeId
     * @return
     */
    public List<SubjectScoreModel> findSubByExamIDAndGraID(String examID,String gradeId);
}
